package org.boot.easyapi.core.service.table;



import org.boot.easyapi.pojo.db.DbDTO;
import org.boot.easyapi.pojo.db.TableDTO;

import java.sql.SQLException;
import java.util.List;
import java.util.Map;

public interface TableService {

    /**
     * 创建表
     * @param tableInfo
     */
    void createTable(Map<String, Object> tableInfo);

    /**
     * 获取数据库类型
     * @return
     * @throws SQLException
     */
    DbDTO getDbType() throws SQLException;

    /**
     * 获取数据库表名
     * @return
     */
    List<String> getTableList();


    /**
     * 获取表信息
     * @param tableName
     * @return
     */
    List<TableDTO> getTable(String tableName);

    /**
     * 获取表字段
     * @param tableName
     * @return
     */
    List<String> getTableFields(String tableName);

    /**
     * 更新系统表，升级为系统表
     * @param table
     * @return
     */
    Boolean upSystemTable(String table);
}